The present invention relates generally to methods and apparatuses for managing disk volumes in computer storage systems and, more particularly, to methods and apparatuses for managing and operating block-based thin provisioning disk volumes in file-based storage systems.
Some of today's computer storage systems are able to provide a “virtual volume” or “thin provisioning volume” which is recognized as a fixed-capacity disk volume by host computers but its actual capacity is dynamically allocated when data is written to the volume. The unit of allocation is a “disk block” which is a segment of one or more disk drives in the storage system. The storage system manages the mapping of every part of the virtual volumes and disk blocks. When a host computer reads a part of the virtual volume and any disk block has not been allocated to the part yet, the storage system returns “0”s as if the part were filled by “0”s. Since disk blocks are allocated as needed, the capacity of disk drives can be used effectively by eliminating the need to allocate disk capacity to free areas of volumes. Furthermore, the capacity of the storage system is flexibly shared by multiple virtual volumes. An administrator does not have to precisely predict the necessary capacity for each volume at volume creation, and may create very large virtual volumes since virtual volumes consume capacity not based on the size of the volumes, but based on the used capacity. By increasing the efficiency of capacity consumption and reducing the initial investment and the administrative cost, thin provisioning reduces the TCO (total cost of ownership) of the computer storage system. The fundamental technology of the dynamic capacity allocation is disclosed in, for instance, U.S. Pat. No. 6,725,328.
Another method to reduce the TCO is through the use of “online storage service” or “cloud storage service” which provides storage capacity in a remote site that allows users to use the service through the Internet. Users of the service do not have to manage the service infrastructure. Furthermore, such service typically has a file-based interface and a charge back system such as pay-as-you-go, which means that the amount of payment is determined by the amount of total size of files. That reduces the TCO based on the same characteristics that thin provisioning has. One example of such a storage service is Amazon S3 (Simple Storage Service). See Amazon Simple Storage Service, http://aws.amazon.com/s3/.
In order to improve the efficiency of capacity consumption in a thin provisioning volume, the size of the disk block should be small. The use of smaller disk blocks, however, needs a larger amount of memory to store mapping information. That increases the cost of storage system against the purpose of thin provisioning. On the other hand, the online storage service also has a disadvantage. The user must use its file-based interface defined by the service provider. It is often not compatible with the standard file system interface such as NFS or CIFS, and lacks some functions which standard file systems have, such as access control, metadata management, replication, and so on.